草庐IT

c++ - std::iterator、指针和 VC++ 警告 C4996

全部标签

c++ - 我可以使用内存映射文件传递指针吗?

我已阅读有关Memory-MappedFiles的文章和关于CreateFileMapping的例子.我的问题是:我可以使用内存映射文件在两个进程之间传递指向结构或对象的指针吗?由于有一些可能的答案,这里是我想传递的结构://FirstProcessstructOtherStruct{};structMyStruct{unsignedlonghandleObject;unsignedlong*phandleObject;OtherStructsomeData;OtherStruct*pData;}MyStructdataSend={...};WriteToMappedFile(data

windows - Git 发出警告 : unable to rmdir

我在Windows10上使用gitbash,最近更新到creatorsupdate。每当我尝试在分支之间切换时,我都会得到以下信息$gitfetch&&gitcheckoutmasterwarning:unabletormdirIonic_Developemnt:DirectorynotemptyCheckingoutfiles:100%(6312/6312),done.Switchedtobranch'master'Yourbranchisup-to-datewith'origin/master'.我不知道为什么会这样,而且Ionic_Development文件夹中有一个.gitst

c++ - 删除类数组指针时出错

尝试弄清楚为什么我在此数组指针上使用delete时会出错?正在尝试加载png图像,但不确定发生了什么错误出现在使用delete[]chunks;代码typedefstruct{charr;charg;charb;chara;}pixel;classchunk{public:unsignedcharlength[4];unsignedchartype[4];unsignedchar*data;unsignedcharCRC[4];~chunk(){delete[]data;}};classPNG{public:PNG();PNG(std::stringfilename);~PNG();v

c++ - 在 VC++ 中执行一个进程并返回它的标准输出

执行进程、等待它完成,然后将其标准输出作为字符串返回的最简单方法是什么?有点像Perl中的backtics。不是在寻找跨平台的东西。我只需要最快的VC++解决方案。有什么想法吗? 最佳答案 WinAPI解决方案:您必须使用重定向输入(STARTUPINFO结构中的hStdInput字段)和输出(hStdOutput)到您的管道(请参阅CreatePipe)创建进程(请参阅CreateProcess),然后只从管道中读取(请参阅ReadFile)。 关于c++-在VC++中执行一个进程并返

c++ - 错误错误 LNK2001 : unresolved external symbol _deflateEnd in VC++

我使用的是libharu-2.0.8的外部库,这是一个开源的pdf库。这个库有一个名为libhpdf.lib的库文件和几个头文件我已经编写了一个简单的代码来使用这个库。我收到以下错误。libhpdf.lib(hpdf_streams.obj):错误LNK2001:未解析的外部符号_deflateEndlibhpdf.lib(hpdf_streams.obj):错误LNK2001:未解析的外部符号_deflatelibhpdf.lib(hpdf_streams.obj):错误LNK2001:未解析的外部符号deflateInit 最佳答案

c - 为什么 MapViewOfFile 会为 rapidxml 返回一个不可用的指针?

如建议的那样:我有一个大于2giga的文件。我正在使用以下函数映射到内存:char*ptr=(char*)MapViewOfFile(map_handle,FILE_MAP_WRITE|FILE_MAP_READ,0,0,0);我将ptr解析为接受Ch*的rapidxml。根据rapidxml的文档,ptr应该是可修改的,但由于它被声明为char*类型,因此无法完成。程序编译但在运行时崩溃并出现以下错误:访问冲突。我发现在解析char*时会发生这种情况。请问我该如何解决这个问题? 最佳答案 您正在为MapViewOfFile()的最

c++ - C 字符串和 std::string 之间的转换导致平台特定方式出现乱码

我今天正在处理一个特定于平台的错误,在这个错误中,在Windows机器上某个字符串会非常乱码,但在Mac上则不会。该错误与在std::string和constchar*之间进行显式和隐式转换的几行有关。基本上,我有一个带有签名的函数voidfoo(conststd::string&id);foo在某些时候打印字符串。在Windows上,如果像下面这样调用,它会打印带有不同程度损坏的id字符串(混淆前几个字符或整个字符串)std::stringmystring=bar();constchar*id=mystring.c_str();foo(id);//passtheCstylestrin

c++ - 涉及 `std::string` 的编译导致 Windows 错误状态

最小的例子:#include#includeintmain(int/*argc*/,char*/*argv*/[]){HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//Behaviorthesame,withorwithout.DWORDerr=GetLastError();std::stringstr;return(int)err;//returns127ifflineaboveuncommented,0iffcommented}此程序返回127,对应于ERROR_PROC_NOT_FOUND(“找不到指定的过程。”)。请注意,err是在s

c++ - 使用 std::filesystem 输出作为 LPCWSTR

我正在制作一个程序,它递归地列出某个目录中的所有文件,并使用WinINet将每个文件分别上传到FTP服务器。我遇到的问题是在FtpPutFile()函数中使用filesystem::path::filename因为需要LPCWSTR。转换它(或以某种方式按原样使用它)的最好和最简单的方法是什么?std::stringpath="C:\\Programs";for(constauto&entry:std::experimental::filesystem::recursive_directory_iterator(path))FtpPutFile(hIConnect,entry.path

.net - 打开文件 - 安全警告

操作系统:VistaBusiness64-BIT编码:.NET和第3方EXE问题:安全我已经下载了curl.exe来帮助我从亚马逊加载产品信息。Curl.exe已经过预编译,不是.NET应用程序,因此我不愿意对curl的构建进行任何更改。关于问题。当我执行CURL时,我得到这个对话框:说:打开文件-安全警告无法验证发布者。您确定要运行该软件吗?运行或取消无论是手动运行软件还是以编程方式运行软件,我都会遇到此错误。当我手动使用这个软件时,我可以处理这个问题,但我试图自动化一个过程以编程方式运行这个,所以我想禁止这个对话框。在研究这个的过程中,我获得了很多关于调整IE设置的信息...但我没